Through Modbus TCP protocol, WISE-580x-MTCP, WISE-52xx and WISE-224x is able to read or write 4 types of Modbus data (Coil Output, Discrete Input, Input Register and Holding Register) from the Modbus TCP Slave modules to the WISE-580x-MTCP, WISE-52xx and WISE-224x. And by WISE IF-THEN-ELSE rule engine, it allows to perform automation control operation on the devices. And with SCADA software, it also allows to monitor and control the Modbus RTU device retrieved information on the WISE-580x-MTCP, WISE-52xx and WISE-224x.
The comparison table of WISE-580x, WISE-580x-MTCP, WISE-52xx and WISE-224x in I/O module connection is as below:
I/O Module Support | WISE-580x | WISE-580x-MTCP | WISE-284x / WISE-52xx / WISE-224x |
Local I/O Interface | XW-Board | XW-Board | XV-Board |
Remote I/O Interface by RS485 |
I-7000 modules (up to 16) or Modbus RTU Slave modules (up to 10) |
No | I-7000/DL DCON modules (up to 16) and Modbus RTU Slave modules (up to 16) |
Remote I/O Interface by Ethernet |
No | Modbus TCP Slave modules (up to 7) |
Modbus TCP Slave modules (up to 16) |
Modbus TCP Module Setting
- WISE-580x-MTCP
- WISE-284x, 52xx, 224x
Through Modbus TCP protocol, WISE-580x-MTCP is able to read back 4 types of Modbus data (Coil Output, Discrete Input, Input Register and Holding Register) from the Modbus TCP Slave modules that are connected to the WISE-580x-MTCP, and write data on Coil Output or Holding Register from the WISE-580x-MTCP to these Modbus TCP Slave modules. WISE-580x-MTCP can use the Modbus data along with the built-in IF-THEN-ELSE logic engine to execute actions under specific conditions. The SCADA system also can retrieve the Modbus data from the WISE-580x-MTCP. The Modbus TCP Slave modules setting page is shown as follow:
Follow the following steps to complete setting:
-
Go to “Basic Setting” ⇒ “Modbus TCP Module Setting Page” to open the Modbus TCP Module Setting Page of WISE-580x-MTCP.
-
In the “Module Type” field, there are three options for selection to define the module type of the Modbus TCP module which connect to WISE-580x-MTCP.
-
In the “Name” field, input the Modbus TCP Slave module name.
-
In the “IP Address” field, input the IP of the Modbus TCP Slave module.
-
In the “Port” field, input the Modbus TCP Slave port of the Modbus TCP module.
-
In the “NetID” field, input the NetID of the Modbus TCP Slave module.
-
In the “Scan Rate” field, input the time interval in seconds. The WISE-580x-MTCP will update the Modbus data from the Modbus TCP Slave module every specified time-interval. The default value is 5 seconds.
-
In the “Polling Timeout” field, input the time interval in millisecond seconds. It is the time interval for WISE-580x-MTCP to send Modbus TCP command to the Modbus TCP Slave module and wait for the response. The default value is 500 milliseconds.
-
In the “Connection Timeout” field, input the time interval in seconds. It is the time interval for WISE-580x-MTCP to connect to the Modbus TCP Slave module and wait for the response. The default value is 3 seconds.
-
In the “Disconnection Retry Interval” field, input the time interval in seconds. It is the time interval to re-connect with the Modbus TCP Slave module when it is unconnected. The default value is 5 seconds.
-
After all settings are completed, click “Add” to add the Modbus TCP Slave module to the module list. According to the Index being assigned, the I/O channel data of the Modbus TCP module will be saved in the corresponding WISE-580x-MTCP Modbus address table, for more detailed information, please refer to the following table.
-
Select the Modbus TCP Slave module on the module list and click “Setting” button to get in to the Coil Output, Discrete Input, Input Register and Holding Register setting page to edit settings. For the detail, please refer to the next topic "Modbus TCP Slave Attribute Setting". To remove the Modbus TCP Slave module, select the module you would like to remove and click “Remove” button. To relocate Modbus TCP Slave to other index, click “Move Up” or “Move Down” to move the Modbus TCP Slave module to the desired index.
-
If the setting of “Module Type” is “WISE-71xx Series”, then system will automatically produce the Modbus Address Table for the I/O channel configuration of the module you select in the “model name” dropdown list. You do not need to build the Modbus Address Table by yourselves.
-
If the setting of “Module Type” is “ET-7000/PET-7000 Series”, then system will automatically produce the Modbus Address Table for the I/O channel configuration of the module you select in the “model name” dropdown list. Please remember to go to the “Modbus TCP Module Attribute Setting Page” of the module to check and modify the setting of HEX max/min values and Real max/min values to be the same as the setting of the physical module.
-
After all Modbus TCP Slave module settings are completed, click “Save” button to save the changes
If the module which connect to WISE-580x-MTCP is WISE-71xx series or ET-7000/PET-7000 series, you can select “WISE-71xx Series” or “ET-7000/ PET-7000 Series” in the field first, then select the exact model name from the following dropdown list. After complete the setting, system will automatically produce the Modbus Address Table for the module you select based on its I/O channel configuration. If the module which is not in the automatic support list of WISE-580x-MTCP, please select “Customize” in the “Module Type” field, then define the Modbus Address Table for the I/O channel configuration of the module later.
Please note:
About the configuration and setting document of ET-7000/PET-7000 series modules, please visit [Here] to download the "pet_et_7000_register_table_v1.0.x.pdf" document for reference.
WISE-52xx/WISE-224x allows connections to ICP DAS (P)ET-7000/WISE-7100/ WF-2000/IR modules and general Modbus TCP Modules. Through Modbus TCP protocol, it enables to read or write 4 types of Modbus data (Coil Output, Discrete Input, Input Register and Holding Register) from the Modbus TCP modules. And by WISE-52xx/WISE-224x IF-THEN-ELSE rule engine, it allows to perform automation control operation on the modules. And with SCADA software, it also allows monitoring and control of the Modbus TCP modules which connect with the WISE-52xx/WISE-224x. The Modbus TCP Slave Module setting page is shown as follow:
Please Note: The LAN interface on WISE-52xx/WISE-224x allows connections to at most 16 devices ((P)ET-7000/WISE-7100/WF-2000/IR modules or Modbus TCP modules).
The user could add the (P)ET-7000/WISE-7100/WF-2000/IR module or Modbus TCP modules manually one by one, the steps are as below:
-
No: The number will be the order that the I/O channel data of the Modbus TCP module being stored in the WISE-52xx/WISE-224x Modbus Table. The range is 1~16.
-
IP: Allows modification of the IP address, Port and NetID of this Modbus TCP module, make sure the IP, Port and NetID setting are the same as the settings of the module. If the setting is not accurate, the connection for WISE-52xx/WISE-224x to the module will be failed.
-
Select the module name: For ICP DAS (P)ET-7000/WISE-7100/ WF-2000/IR modules, the user could select the default model name from the dropdown list. Please input the nickname for other Modbus TCP modules manually.
-
Click to add the Modbus TCP module to the list After adding the Modbus TCP module, click “Save” button to save the changes.
Modbus TCP Slave Attribute Setting
The detailed configuration page of Coil Output, Discrete Input,Input Register and Holding Register for each Modbus TCP device is shown as below:
WISE-580x-MTCP:
WISE-284x / WISE-52xx / WISE-224x:
Follow the following steps:
-
Data Model: WISE-580x-MTCP, WISE-52xx and WISE-224x offers 4 Data Model selections to match the Modbus TCP Slave module configuration. The Data Model list is as follow.
-
Start Address: Allows to set up the starting address of Coil Output (0x) on the Modbus TCP Slave module you would like to retrieve.
-
Continuous Data Number/Data Number: After finishing the Start Address setting, specify the Continuous Data Number/Data Number, it is the number of Coil Output data you would like to retrieve from the Start Address.
Data Model | The Modbus Address of Modbus TCP Slave Modules | Data Type | |
Coil Output | 0xxxx | ||
Discrete Input | 1xxxx | ||
Input Register | 3xxxx |
|
|
Holding Register | 4xxxx |
After finishing the “Start Address” and “Continuous Data Number/Data Number” setting, click on “Add” button. A new Coil Output address block will be added to the Modbus address mapping table (shown as below). All added address blocks will be located in sequences staring from the Starting Address. Please note: The address number on the first column “Local Address” means the local Modbus address of WISE-580x-MTCP, WISE-52xx and WISE-224x to keep the retrieved data.
WISE-580x-MTCP:
WISE-284x / WISE-52xx / WISE-224x:
Using the figure above as an example, the allocation of the Modbus Address in WISE-580x-MTCP, WISE-52xx and WISE-224x for the Coil Output setting of this Modbus TCP module is shown as below:
Coil Output Index |
The Modbus Address in Modbus TCP Module | The mapping Modbus Address in WISE-580x-MTCP | The mapping Modbus Address in WISE-52xx WISE-224x |
1 | 00050 | 00780 | 03500 |
2 | 00051 | 00781 | 03501 |
3 | 00052 | 00782 | 03502 |
4 | 00053 | 00783 | 03503 |
The allocation of the Modbus Address in WISE-580x-MTCP, WISE-52xx and WISE-224x for the Discrete Input setting of this Modbus TCP module is shown as below:
Discrete Input Index |
The Modbus Address in Modbus TCP Module | The mapping Modbus Address in WISE-580x-MTCP | The mapping Modbus Address in WISE-52xx WISE-224x |
1 | 10020 | 10780 | 13500 |
2 | 10021 | 10781 | 13501 |
3 | 10022 | 10782 | 13502 |
4 | 10023 | 10783 | 13503 |
5 | 10024 | 10784 | 13504 |
6 | 10025 | 10785 | 13505 |
The allocation of the Modbus Address in WISE-580x-MTCP, WISE-52xx and WISE-224x for the Input Register setting of this Modbus TCP module is shown as below:
Input Register Index |
The Modbus Address in Modbus TCP Module | The mapping Modbus Address in WISE-580x-MTCP | The mapping Modbus Address in WISE-52xx WISE-224x |
1 | 30010 | 30780 | 33500 |
2 | 30012 | 30782 | 33502 |
3 | 30014 | 30784 | 33504 |
The allocation of the Modbus Address in WISE-580x-MTCP, WISE-52xx and WISE-224x for the Holding Register setting of this Modbus TCP module is shown as below:
Holding Register Index |
The Modbus Address in Modbus TCP Module | The mapping Modbus Address in WISE-580x-MTCP | The mapping Modbus Address in WISE-52xx WISE-224x |
1 | 40060 | 40780 | 43500 |
2 | 40061 | 40782 | 43502 |
(The number of Modbus address setting blocks will affect the data update rate for the Modbus TCP Slave module. Please minimize the number of Modbus address setting blocks; merge the conjunctive setting blocks to speed up the data update rate for the communication between WISE-580x-MTCP/WISE-52xx/WISE-224x and Modbus TCP Slave module.)
HEX Conversion
If the Modbus TCP Slave device provides HEX data only, WISE-580x-MTCP, WISE-52xx and WISE-224x allows to transfer the HEX value to decimal value in floating point so that the value can be used in IF-THEN-ELSE rules edition. The value retrieved from WISE-580x-MTCP, WISE-52xx and WISE-224x via Modbus TCP/RTU can be transferred to more-easy-to-read decimal value in floating point automatically as well (the floating point will take two local addresses).
When you select HEX as the data type, you will be required to input the HEX data range and the corresponding decimal data range. WISE-580x-MTCP, WISE-52xx and WISE-224x will transfer the HEX to decimal value automatically when performing read/write operations.
Modbus TCP Slave Rule Setting
-
Coil Output Condition:
-
Discrete Input Condition:
-
Input Register Condition:
-
Holding Register Condition:
-
Coil Output Action:
-
Holding Register Action:
Identify the status of Coil Output to be ON or OFF, if the result matches the evaluation criteria, the Action will be executed.
Coil Output | Operator | Description | Condition Statements |
Coil Output State of Address N | ON | Identify if the state of Coil Output is ON | continue to be TRUE when the status matches the criteria |
OFF | Identify if the state of Coil Output is OFF |
Identify the status of Discrete Input to be ON or OFF, if the result matches the evaluation criteria, the Action will be executed.
Discrete Input | Operator | Description | Condition Statements |
Discrete Input State of Address N | ON | Identify if the state of Discrete Input is ON | continue to be TRUE when the status matches the criteria |
OFF | Identify if the state of Discrete Input is OFF |
Identify the value of Input Register to be equal to, greater than, less than, equal to or greater than, equal to or less than the "Variable", if the result matches the evaluation criteria, the Action will be executed.
Input Register | Operator | Variable | Description | Condition Statements |
Input Register Value of Address N | = > < ≥ ≤ |
User-Defined Value | Using a user-defined value to compare with the input register value of address N. | continue to be TRUE when the status matches the criteria |
Internal Register | Using the internal register value to compare with the input register value of address N. | |||
AI Channel Value | Using AI channel values of module to compare with the input register value of address N. | |||
AO Channel Value | Using AO channel values of module to compare with the input register value of address N. | |||
DI Channel Counter Value | Using DI channel counter values of module to compare with the input register value of address N. | |||
DO Channel Counter Value | Using DO channel counter values of module to compare with the input register value of address N. | |||
Input Register Value | Using input register values of module to compare with the input register value of address N. | |||
Holding Register Value | Using holding register values of module to compare with the input register value of address N. | |||
MQTT Subscribe Topic Message Value | Using MQTT subscribe topic message value to compare with the input register value of address N. | |||
Amazon Web Services Subscribe Message Value | Using Amazon Web Services subscribe message value to compare with the input register value of address N. | |||
Microsoft Azure Subscribe Message Value | Using Microsoft Azure subscribe message value to compare with the input register value of address N. | |||
IBM Bluemix Subscribe Message Value | Using IBM Bluemix subscribe message value to compare with the input register value of address N. |
Identify the value of Holding Register to be equal to, greater than, less than, equal to or greater than, equal to or less than the "Variable", if the result matches the evaluation criteria, the Action will be executed.
Holding Register | Operator | Variable | Description | Condition Statements |
Holding Register Value of Address N | = > < ≥ ≤ |
User-Defined Value | Using a user-defined value to compare with the holding register value of address N. | continue to be TRUE when the status matches the criteria |
Internal Register | Using the internal register value to compare with the holding register value of address N. | |||
AI Channel Value | Using AI channel values of module to compare with the holding register value of address N. | |||
AO Channel Value | Using AO channel values of module to compare with the holding register value of address N. | |||
DI Channel Counter Value | Using DI channel counter values of module to compare with the holding register value of address N. | |||
DO Channel Counter Value | Using DO channel counter values of module to compare with the holding register value of address N. | |||
Input Register Value | Using input register values of module to compare with the holding register value of address N. | |||
Holding Register Value | Using holding register values of module to compare with the holding register value of address N. | |||
MQTT Subscribe Topic Message Value | Using MQTT subscribe topic message value to compare with the holding register value of address N. | |||
Amazon Web Services Subscribe Message Value | Using Amazon Web Services subscribe message value to compare with the holding register value of address N. | |||
Microsoft Azure Subscribe Message Value | Using Microsoft Azure subscribe message value to compare with the holding register value of address N. | |||
IBM Bluemix Subscribe Message Value | Using IBM Bluemix subscribe message value to compare with the holding register value of address N. |
Change the Coil Output status to specified status. The status can be set as "OFF" or "ON".
Coil Output | Action | Description | Execution Type |
Coil Output State of Address N | ON | Change the DO Channel status to be ON | One Time / Repeat |
OFF | Change the DO Channel status to be OFF |
Users can modify the Holding Register value in the THEN/ELSE Action statement.
Holding Register | Operator | Variable | Description | Execution Type |
Holding Register Value of Address N | = += -= |
User-Defined Value | The value defined by user. | One Time / Repeat |
Internal Register | One of the Internal register value of the module. | |||
AI Channel Value | One of the AI channel value of the module. | |||
AO Channel Value | One of the AO channel value of the module. | |||
DI Channel Counter Value | One of the DI channel counter value of the module. | |||
DO Channel Counter Value | One of the DO channel counter value of the module. | |||
Input Register Value | One of the Input Register value of the module. | |||
Holding Register Value | One of the Holding Register value of the module. | |||
MQTT Subscribe Topic Message Value | One of the MQTT subscribe topic message value. | |||
Amazon Web Services Subscribe Message Value | One of the Amazon Web Services subscribe message value. | |||
Microsoft Azure Subscribe Message Value | One of the Microsoft Azure subscribe message value. | |||
IBM Bluemix Subscribe Message Value | One of the IBM Bluemix subscribe message value. | |||
Operator Description | ||||
= | Assign the new Holding Register value as the value in “Varibale” field. | |||
+= | Assign the new Holding Register value as the original Holding Register value plus the value in “Varibale” field. | |||
-= | Assign the new Holding Register value as the original Holding Register value minus the value in “Varibale” field. |